package com.teamwings.modules.follow.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.teamwings.modules.follow.entity.OatAppFollow;
import com.teamwings.modules.follow.moduleMsg.ModuleType;

import java.util.List;

/**
 * <p>
 *  表单设计服务类
 * </p>
 *
 * @author songxm
 * @since 2022-01-05
 */
public interface IOatAppFollowService extends IService<OatAppFollow> {

    /**
     * 根据实例ID获取列表
     * @param instId
     * @return
     */
    List<OatAppFollow> findByByInstId(String instId);

    /**
     * 保存关注
     * @param instId 实例id
     * @param userId 用户id
     * @return
     */
    void save(String instId,String userId);

    /**
     * 状态修改
     * @param instId 实例id
     * @param userId 用户id
     * @return
     */
    void updateStateByInstIdAndUserId(String instId,String userId,Integer state);

    /**
     * 发送关注提醒
     * @param instId
     */
    void sendMessage(String instId, ModuleType moduleType);

    /**
     * 判断该用户是否关注该办文
     * 加载表单时关注提醒的值可调用此方法来获取
     * @param instId
     * @param userId
     * @return
     */
    boolean isFollow(String instId,String userId);
}
